package goodroommate.service;

import java.sql.Time;
import java.util.ArrayList;
import java.util.List;

import goodroommate.domain.UserDetail_UserInfo;
import goodroommate.domain.UserDetail_UserInfoForKmeans;
import goodroommate.domain.UserInfo;
import goodroommate.exception.DatabaseException;
import goodroommate.exception.ItemAlreadyExistsException;
import goodroommate.exception.ItemNotExistsException;

public interface IUserInfoService {

	public boolean addUserInfo(long userid,Time sleeptime,Time weekuptime)throws DatabaseException,ItemAlreadyExistsException;
	public UserInfo getUserInfoByUserId(long userid)throws DatabaseException;
	public ArrayList<UserDetail_UserInfo> getRoommatesBySimilarity(long userid)throws DatabaseException,ItemNotExistsException;

	public List<UserDetail_UserInfoForKmeans>[] getUserGroupByKmeans(
			ArrayList<UserDetail_UserInfoForKmeans> timeestimationresults)
			throws DatabaseException, ItemNotExistsException;

	public ArrayList<UserDetail_UserInfoForKmeans>[] getUserGroupFromComputingPlatform(
			ArrayList<UserDetail_UserInfoForKmeans> estimationresults) throws DatabaseException;
}
